<template>
	<view class="content">
		<view @click="login2" style="margin-bottom: 50px;">一键登录</view>
		<view @click="login1" style="margin-bottom: 50px;">一键登录1</view>
	</view>
</template>

<script>
	import { login as loginxx } from '../utils/login.js'
	export default {
		data() {
			return {
				title: 'Hello',
				value: ""
			}
		},
		onLoad() {

		},
		methods: {
			click() {
				uni.switchTab({
					url: '/pages/home/index'
				})
			},
			login1() {
				uni.login({
					provider: 'weixin',
					success: (res) => {
						console.log('res======================');
						console.log(res);
					},
					fail: (err) => {
						console.log('err=========================');
					},
					complete() {
						console.log('xxxxxxxxxxxx');
					}
				})
			},
			getProvider() {
				return new Promise((resolve, reject) => {
					uni.getProvider({
						service: 'oauth',
						success: function(res) {
							//console.log(res.provider) // ['qq', 'univerify']
							resolve(res.provider)
						},
						reject: (err) => {
							reject(err)
						}
					});
				})
			},
			login() {
				return new Promise((resolve, reject) => {
					uni.login({
						provider: 'univerify',
						univerifyStyle: {
							fullScreen: true,
							icon: {
								path: "static/logo.png"
							},
							otherLoginButton: {
								"title": "其他手机号登录"
							},
							privacyTerms: {
								"defaultCheckBoxState": true, // 条款勾选框初始状态 默认值： true
								"isCenterHint": false, //未勾选服务条款时点击登录按钮的提示是否居中显示 默认值: false (3.7.13+ 版本支持)
								"uncheckedImage": "", // 可选 条款勾选框未选中状态图片（仅支持本地图片 建议尺寸 24x24px）(3.2.0+ 版本支持)   
								"checkedImage": "", // 可选 条款勾选框选中状态图片（仅支持本地图片 建议尺寸24x24px）(3.2.0+ 版本支持)   
								"checkBoxSize": 12, // 可选 条款勾选框大小
								"textColor": "#BBBBBB", // 文字颜色 默认值：#BBBBBB  
								"termsColor": "#5496E3", //  协议文字颜色 默认值： #5496E3  
								"prefix": "我已阅读并同意", // 条款前的文案 默认值：“我已阅读并同意”  
								"suffix": "并使用本机号码登录", // 条款后的文案 默认值：“并使用本机号码登录”  
								"privacyItems": [ // 自定义协议条款，最大支持2个，需要同时设置url和title. 否则不生效  
									{
										"url": "https://", // 点击跳转的协议详情页面  
										"title": "用户协议" // 协议名称  
									},
									{
										"url": "https://", // 点击跳转的协议详情页面  
										"title": "隐私协议" // 协议名称  
									}
								]
							},
							authButton: {
								normalColor: "#7355FE"
							},
							buttons: {
								iconWidth: "45px",
								list: [{
									"provider": "weixin",
									"iconPath": "/static/home/share1.png" // 图标路径仅支持本地图片
								}]
							}
						},
						success: (res) => {
							const {
								errMsg,
								code,
								authResult
							} = res
							if (errMsg === 'login:ok') {
								// #ifdef MP
								resolve({
									type: 'MP',
									code
								})
								// #endif
							}


							// #ifdef APP
							resolve({
								type: 'APP',
								authResult
							})
							// #endif
						},
						fail: (err) => {
							const {
								errMsg
							} = err
							if (errMsg === 'login:fail 用户点击了其他登录方式') {
								// 跳转其它手机号登录页面
								resolve()
								return
							}
							if (errMsg === 'login:fail 用户点击了自定义按钮') {
								uni.login({
									provider: 'weixin',
									success: (res) => {
										const {
											errMsg,
											authResult
										} = res
										if (errMsg === 'login:ok') {
											resolve({
												type: 'APP',
												authResult
											})
										}
									},
									fail: (err) => {
										reject(err)
									}
								})
								return
							}
							reject(err)
						}
					})
				})
			},
			async login2() {
				loginxx()
				// console.log('一键登录');
				// const provider = await this.getProvider()
				// const res = await this.login()
				// const {
				// 	type,
				// 	code = '',
				// 	authResult = {}
				// } = res
				// if (type === 'MP') {
				// 	console.log('weixin===========');
				// 	return
				// }
				// if (type === 'APP') {
				// 	console.log('app本机号码登录');
				// 	return
				// }
			}

		}
	}
</script>

<style>
	.content {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.logo {
		height: 200rpx;
		width: 200rpx;
		margin: 200rpx auto 50rpx auto;
	}

	.text-area {
		display: flex;
		justify-content: center;
	}

	.title {
		font-size: 36rpx;
		color: #8f8f94;
	}
</style>